/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Menu;

import Gerenciadores.GerenciadorConsulta;
import Gerenciadores.GerenciadorPaciente;
import Modelo.Consulta;
import Modelo.Paciente;
import Modelo.TipoConsulta;
import POO.TecladoUtils;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author kelyane
 */
public class MenuAcaoCadastrarConsulta extends MenuAcao{
    
    @Override
    public void executar() throws IOException{
        //Ao cadastrar uma consulta, é obrigatoria haver um paciente
        
        try {
            Paciente paciente = GerenciadorPaciente.obtemPaciente();  
            
            if(paciente == null){
                return;
            }
        
            System.out.printf("Nome medico:\n");           
            String nomeMedico = TecladoUtils.lerString();

            System.out.printf("Data e hora da Consulta (dd/mm/aaaa hh:mm)\n");   
            String dataConsulta = TecladoUtils.lerString();
            
            Date date = new SimpleDateFormat("dd/MM/yyyy HH:mm", Locale.ROOT).parse(dataConsulta);

            MenuUtils.exibeMenuConsulta();
            Integer numConsulta = TecladoUtils.lerInteiro();
            TipoConsulta tpConsulta = MenuUtils.obtemConsulta(numConsulta);
            
            Consulta consulta = new Consulta(paciente, nomeMedico, date, tpConsulta);
            
            GerenciadorConsulta.cadastrarConsulta(consulta);
            
        } catch (ParseException ex) {
            Logger.getLogger(MenuAcaoCadastrarConsulta.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        
        
    }
    
    @Override
    public String getNome() {
        return "Cadastrar Consulta";
    }
    
}
